# 数据库部分
# 数据库里的名词 : DBMS DB DBA table data
# 数据库的分类 :
    # 关系型 : msyql oracle sql server
    # 非关系型 : redis mongodb
# sql语句的种类
    # ddl : create drop alter
    # dml : select insert update delete
    # dcl : grant revoke
# sql语句 : 创建用户\给权限\设置密码
# 库的操作
    # 创建库
    # 使用库
    # 查看库
# 表的操作
    # 存储引擎 : INNODB(支持外键  行级锁  事务 且 有聚集索引和辅助索引) MYISAM(只有辅助索引和表锁)
    # 查看库中有哪些表
    # 创建表  *****
        # 数据类型 : 数值 时间 字符串 set和enum
        # 约束 : unsigned/not null/unique/default/auto_increment/primary key/foreign key
    # 查看表结构 *****
    # 修改表结构
    # 删除表
    # 表与表之间的关系 : 1对1 1对多 多对多
# 数据的操作 *****
    # insert
    # update
    # delete
    # select *****
        # 单表查 : select from where group by having order by limit
            # group by having 聚合函数 : count min max avg sum
        # 多表查
          # 连表 : inner join / left join / right join / union
          # 子查询 : select * from 表 where 条件 = 值
# 索引原理
    # 创建索引
    # 删除索引
    # 索引种类 : memory(hash索引) (innodb/myisam)-b+tree(聚集索引 辅助索引)
    # 有哪些索引:
        # primary key 主键索引\联合主键索引
        # unique key 唯一索引\联合唯一索引
        # index key 普通索引\联合索引
    # 如何创建和使用索引
        # 创建 : 尽量选择定长的\长度短的\重复率低的
        # 使用 :
            # 创建了但条件没用上
            # 范围 >= <= > < != between and not in
            # like '%a'
            # 条件列参与计算 使用函数
            # 条件中用到or 且并不是所有列都创建了索引
            # 联合索引的时候,没有遵循最左前缀原则
    # explain 执行计划


